package com.javademo.collectionstest;

import lombok.extern.slf4j.Slf4j;

import java.util.*;
import java.util.stream.Collectors;

@Slf4j
public class ListTest {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        addListTest(list);
        log.info("未排序的列表：{}", list);
        list.sort(Comparator.naturalOrder());
        log.info("排序前的列表：{}", list);
        List<String> collect = list.stream().sorted((o1, o2) -> o2.compareTo(o1)).collect(Collectors.toList());
        log.info("排序后的列表：{}", collect);
    }

    private static boolean isContainsTest(List<String> list, String str) {
        return list.contains(str);
    }

    private static void addListTest(List<String> list) {
        // 添加元素到集合
        list.add("1");
        list.add("3");
        list.add("2");

    }
    private static void iteratorTest(List<String> list) {
        // 获取迭代器
        Iterator<String> iterator = list.iterator();

        // 使用迭代器遍历集合
        while (iterator.hasNext()) {
            String element = iterator.next();
            log.info(element);
        }

        // 使用迭代器删除元素
        iterator = list.iterator(); // 重新获取迭代器
        while (iterator.hasNext()) {
            String element = iterator.next();
            if ("world".equals(element)) {
                iterator.remove(); // 删除元素
            }
        }

        // 输出删除后的集合
        log.info("After removal: " + list);
    }
}
